<?php
echo '<script type="text/javascript">';
require APP . WEBROOT_DIR . DS . "js" . DS . "validate" . DS . "anotation_add.js";
echo '</script>';
?>
<div id="add_anotation" class="form" style="display: none;">
    <h3>Agregar Anotación</h3>
    <?php echo $form->create('Anotation', array('url' => array('controller' => 'anotations', 'action' => 'add'))); ?>
    <div class="time_range">
        <?php
        echo $this->Form->input('date_from', array('type' => 'hidden', 'value' => date('d/m/Y', strtotime($fecha_dia))));
        ?>
        <div class="left">
            <label>Hora de Inicio</label>
            <?php
            echo $this->Form->input('start_hour', array('label' => false, 'type' => 'select', 'options' => $hours));
            ?>
            <span>:</span>
            <?php
            echo $this->Form->input('start_minute', array('label' => false, 'type' => 'select', 'options' => $minutes));
            ?>
        </div>
        <div class="left">
            <label>Hora de Fin</label>
            <?php
            echo $this->Form->input('finish_hour', array('label' => false, 'type' => 'select', 'options' => $hours));
            ?>
            <span>:</span>
            <?php
            echo $this->Form->input('finish_minute', array('label' => false, 'type' => 'select', 'options' => $minutes));
            ?>
        </div>
    </div>
    <?php
    echo $form->input('description', array('type' => 'textarea'));
    echo $form->submit(__('Aceptar', true), array('div' => array('class' => 'submit left clear_none')));
    ?> 
    <div class="submit left clear_none">
        <input type="submit" value="Cancelar" onclick="cerrar_ventana(); return false;">
    </div>
    <?php
    echo $form->end();
    ?>
</div>
<a href="" class="filtro_a" onclick="show_filter(); return false;"><?php echo __('Filtro', true); ?></a>
<input type="hidden" id="input_filtro" value="0">
<div id="filtro_busqueda" class="filtro" <?php echo!isset($print_por_dia) ? 'style="display: block;"' : '' ?>>
    <fieldset>
        <?php echo $form->create('Future', array('url' => array('controller' => 'futures', 'action' => 'por_dia'))); ?>
        <div class="date_range">
            <label>Rango de Fechas</label>
            <?php
            echo $form->input('date_from', array('label' => false));
            ?>
            <span><?php echo $this->Html->link(__('Hoy', true), array(), array('onclick' => 'fecha_hoy(); return false;')); ?></span>
            <?php
            echo $form->input('hidden_actual_date', array('type' => 'hidden', 'value' => date('d/m/Y')));
            echo $form->input('hidden_week_date', array('type' => 'hidden', 'value' => date('d/m/Y', strtotime('+7 day', strtotime(date('Y-m-d H:i:s'))))));
            ?>
        </div>
        <?php
        echo $form->submit(__('Filtrar', true));
        echo $form->end();
        ?>
    </fieldset>
</div>
<?php
if (!isset($print_por_dia)) {
    ?> 
    <div id="div_imprimir">
        <?php
        echo $this->Html->link(
                $this->Html->image('impresora.png', array('width' => 40, 'alt' => 'imprimir')), array('controller' => 'futures', 'action' => 'por_dia', strtotime($fecha_dia), 1), array('escape' => false, 'target' => '_blank')
        );
        ?>
        <?php //echo $this->Html->link(__('Imprimir', true), array('controller' => 'theaters', 'action' => 'index')); ?>
    </div>
    <?php
}
?>
<div class="clear"></div>
<? $dias = array(1=>'Lunes', 2=>'Martes', 3=>'Miércoles', 4=>'Jueves', 5=>'Viernes', 6=>'Sábado', 7=>'Domingo');
$fecha_letras = $dias[date('N', strtotime($fecha_dia))]; ?>
<p><b>Cantidad Total de Trabajos en el día <?php echo $fecha_letras . '  ' . date('d/m/Y', strtotime($fecha_dia)) ?>: </b><?php echo $cantidad_total_trabajos; ?></p>
<br />
<table cellpadding="0" cellspacing="0" id="table_futures">
    <?php
    $tipos_tareas = array('show' => 'Show', 'reception' => 'Presentación', 'animation' => 'Animación', 'production' => 'Obra', 'service' => 'Servicios');
    foreach ($array_todo as $hora_id => $hora) {
        ?>
                                                                                                    <!--<tr>
                                                                                                        <!--<td class="td_hour">
                                                                                                            <p><?php echo $hora_id; ?></p>
        <?php
        echo $this->Html->link(
                $this->Html->image('button_more.gif', array('width' => 12, 'alt' => 'Agregar Cumpleaños/Evento')), array('controller' => 'jobs', 'action' => 'add', strtotime($fecha_dia . ' ' . $hora_id . ':' . $min . ':00')), array('escape' => false)
        );
        echo '&nbsp;';
        echo $this->Html->link(
                $this->Html->image('button_more_red.gif', array('width' => 12, 'alt' => 'Agregar Obra de Teatro')), array('controller' => 'theaters', 'action' => 'add', strtotime($fecha_dia . ' ' . $hora_id . ':' . $min . ':00')), array('escape' => false)
        );
        echo '&nbsp;';
        echo $this->Html->link(
                $this->Html->image('button_more_violet.png', array('width' => 13, 'alt' => 'Agregar Anotación')), array(), array('escape' => false, 'onclick' => "abrir_ventana('" . $hora_id . "', '" . $min . "'); return false;")
        );
        ?>
                                                                                                        </td>
                                                                                                        <td>
                                                                                                            <table>-->
        <?php
        $contador_td = 0;
        foreach ($minutes as $min) {

            $contador_td = 0;
            if (isset($hora[$min])) {
                ?>
                <tr class="tr_minute">
                    <td class="td_hour">
                        <p><?php echo $hora_id . ':' . $min; ?></p>
                        <?php
                        echo $this->Html->link(
                                $this->Html->image('button_more.gif', array('width' => 12, 'alt' => 'Agregar Cumpleaños/Evento')), array('controller' => 'jobs', 'action' => 'add', strtotime($fecha_dia . ' ' . $hora_id . ':' . $min . ':00')), array('escape' => false)
                        );
                        echo '&nbsp;';
                        echo $this->Html->link(
                                $this->Html->image('button_more_red.gif', array('width' => 13, 'alt' => 'Agregar Obra de Teatro')), array('controller' => 'theaters', 'action' => 'add', strtotime($fecha_dia . ' ' . $hora_id . ':' . $min . ':00')), array('escape' => false)
                        );
                        echo '&nbsp;';
                        echo $this->Html->link(
                                $this->Html->image('button_more_violet.png', array('width' => 13, 'alt' => 'Agregar Anotación')), array(), array('escape' => false, 'onclick' => "abrir_ventana('" . $hora_id . "', '" . $min . "'); return false;")
                        );
                        ?>
                    </td>
                    <?php
                    $fin_anterior = 0;
                    $inicio_anterior = 0;
                    $margin_anterior = 0;
                    $cantidad_por_hora = 0;
                    foreach ($hora[$min] as $minute) {
                        $contador_td++;

                        $cantidad_por_hora++;
                        $tiempo_seg = strtotime($minute['fin']) - strtotime($minute['inicio']);
                        $tiempo_min = $tiempo_seg / 60;
                        $row_span = $tiempo_min / 30;
                        $row_span = $row_span == 0 ? 1 : $row_span;

                        foreach ($minute['info'] as $tipo_trabajo => $info) {
                            $clase_td = '';
                            if ($tipo_trabajo == 'Job') {
                                $clase_td = 'td_' . $info['type'];
                                if (isset($peloteros[$info['pelotero_id']])) {
                                    $clase_td = 'td_pelotero';
                                }
                            } elseif ($tipo_trabajo == 'Theater') {
                                $clase_td = 'td_theater';
                            } else {
                                $clase_td = 'td_anotation';
                            }
                            ?>
                            <td rowspan="<?php echo $row_span ?>" class="<?php echo $clase_td ?>" ondblclick="redirigir_trabajo('<?php echo $tipo_trabajo; ?>', <?php echo $info['id']; ?>); return false;">
                                <div class="trabajo" >
                                    <div class="calendar_fecha"><?php echo date('H:i', strtotime($minute['inicio'])) . '-' . date('H:i', strtotime($minute['fin'])) ?></div>
                                    <div class="calendar_info">
                                        <?php
                                        //si es un cumple o un evento
                                        if ($tipo_trabajo == 'Job') {
                                            $tipo = $info['type'] == 'birthday' ? 'Cumpleaños' : 'Evento';
                                            ?>
                                            <p><b><?php echo $tipo ?></b></p>
                                            <?php
                                            if (isset($peloteros[$info['pelotero_id']])) {
                                                ?>
                                                <p><b><?php echo $peloteros[$info['pelotero_id']] ?></b></p>
                                                <?php
                                            } else {
                                                ?>
                                                <p><?php echo $info['address'] ?></p>
                                                <?php
                                            }

                                            //voy a armar un array con los shows, uno con las recepciones, animació, servicios y obras
                                            $array_cosas = array();
                                            foreach ($info['JobsDetail'] as $jobs_detail) {
                                                $tipo = $jobs_detail['type'];
                                                $array_cosas[$tipo][$jobs_detail['id']] = $jobs_detail;
                                            }

                                            $texto_salida = '';
                                            $empleados_usados = array();
                                            $trajes_usados = array();
                                            foreach ($array_cosas as $tarea_type => $tarea) {
                                                ?>
                                                <div class="job_detail_<?php echo $tarea_type ?>">
                                                    <?php
                                                    $texto_salida = '<b>' . $tipos_tareas[$tarea_type] . ': </b>';
                                                    $aux_cant_emp = 0;
                                                    foreach ($tarea as $tar) {
                                                        $texto_salida .=!empty($tar['show_id']) ? $shows[$tar['show_id']] : '';
                                                        $texto_salida .=!empty($tar['service_id']) ? $services[$tar['service_id']] . ', ' : '';
                                                        $texto_salida .=!empty($tar['production_id']) ? $productions[$tar['production_id']] : '';

                                                        foreach ($tar['JobsDetailsEmployee'] as $emp) {
                                                            if (!empty($emp['employee_id'])) {
                                                                $empleados_usados[$emp['employee_id']] = $employees[$emp['employee_id']];
                                                                if ($tarea_type == 'animation' || $tarea_type == 'show' || $tarea_type == 'production') {
                                                                    $aux_cant_emp++;
                                                                }
                                                            } elseif (isset($emp['cost'])) {
                                                                //si no esta seteado el id del empleado, pero si el costo
                                                                if ($tarea_type == 'animation' || $tarea_type == 'show' || $tarea_type == 'production') {
                                                                    $aux_cant_emp++;
                                                                }
                                                            }
                                                            if (!empty($emp['costume_id'])) {
                                                                //si es una recepcion anoto el nombre de los trajes
                                                                if ($tarea_type == 'reception') {
                                                                    $texto_salida .= $costumes[$emp['costume_id']] . ', ';
                                                                }
                                                                $trajes_usados[$emp['costume_id']] = $costumes[$emp['costume_id']];
                                                            }
                                                        }
                                                        if ($tarea_type == 'animation' || $tarea_type == 'show' || $tarea_type == 'production') {
                                                            $texto_salida .= '(' . $aux_cant_emp . 'P), ';
                                                        }
                                                    }
                                                    //me fijo si termina con una coma
                                                    $texto_salida = substr($texto_salida, -2, 2) == ', ' ? substr($texto_salida, 0, -2) : $texto_salida;
                                                    echo $texto_salida;
                                                    ?>
                                                    <br />
                                                </div>
                                                <?php
                                            }
                                            echo '<b>Trajes: </b>' . implode(', ', $trajes_usados);
                                            echo '<br />';
                                            echo '<b>Empleados: </b>' . implode(', ', $empleados_usados);
                                        }
                                        //si es una obra de teatro
                                        if ($tipo_trabajo == 'Theater') {
                                            $empleados_usados = array();
                                            $trajes_usados = array();
                                            ?>
                                            <b>Obra de Teatro: </b><?php echo $info['name'] ?>
                                            <br />
                                            <?php
                                            echo $info['address'];

                                            if (isset($info['TheatersEmployee'])) {
                                                foreach ($info['TheatersEmployee'] as $emp) {
                                                    if (!empty($emp['employee_id'])) {
                                                        $empleados_usados[$emp['employee_id']] = $employees[$emp['employee_id']];
                                                    }
                                                }
                                            }
                                            if (isset($info['TheatersCostume'])) {
                                                foreach ($info['TheatersCostume'] as $costume) {
                                                    if (!empty($costume['costume_id'])) {
                                                        $trajes_usados[$costume['costume_id']] = $costumes[$costume['costume_id']];
                                                    }
                                                }
                                            }
                                            echo '<br />';
                                            echo '<b>Trajes: </b>' . implode(', ', $trajes_usados);
                                            echo '<br />';
                                            echo '<b>Empleados: </b>' . implode(', ', $empleados_usados);
                                        }

                                        if ($tipo_trabajo == 'Anotation') {
                                            ?>
                                            <b>Anotación</b>
                                            <br />
                                            <?php
                                            echo $info['description'];
                                        }
                                        ?>
                                    </div>
                                </div>
                            </td>
                            <?php
                            $fin_anterior = $minute['fin'];
                            $inicio_anterior = $minute['inicio'];
                        }
                    }

                    //si estoy en el ultimo td de una fila que tiene al menos un horario
                    if (isset($array_registro_empiezan[$hora_id . $min]) && $contador_td == $array_registro_empiezan[$hora_id . $min]) {

                        $dif_td = $array_registro_tiempos_max - $array_registro_tiempos[$hora_id . $min];
                        $t = 0;
                        for ($t; $t < $dif_td; $t++) {
                            ?>
                            <td></td>
                            <?php
                        }
                    }
                    ?>

                </tr>
                <?php
            } else {

                if (!isset($print_por_dia)) {
                    //si no es la version para imprimir, muestro todo
                    //si no hay trabajos que empiecen a esta hora cargo un tr vacio
                    ?>
                    <tr class="tr_minute">
                        <td class="td_hour">
                            <p><?php echo $hora_id . ':' . $min; ?></p>
                            <?php
                            echo $this->Html->link(
                                    $this->Html->image('button_more.gif', array('width' => 12, 'alt' => 'Agregar Cumpleaños/Evento')), array('controller' => 'jobs', 'action' => 'add', strtotime($fecha_dia . ' ' . $hora_id . ':' . $min . ':00')), array('escape' => false)
                            );
                            echo '&nbsp;';
                            echo $this->Html->link(
                                    $this->Html->image('button_more_red.gif', array('width' => 12, 'alt' => 'Agregar Obra de Teatro')), array('controller' => 'theaters', 'action' => 'add', strtotime($fecha_dia . ' ' . $hora_id . ':' . $min . ':00')), array('escape' => false)
                            );
                            echo '&nbsp;';
                            echo $this->Html->link(
                                    $this->Html->image('button_more_violet.png', array('width' => 13, 'alt' => 'Agregar Anotación')), array(), array('escape' => false, 'onclick' => "abrir_ventana('" . $hora_id . "', '" . $min . "'); return false;")
                            );
                            ?>
                        </td>

                        <?php
                        if (!isset($array_registro_tiempos[$hora_id . $min])) {
                            $dif_td = $array_registro_tiempos_max - $contador_td;
                            $t = 0;
                            for ($t; $t < $dif_td; $t++) {
                                ?>
                                <td></td>
                                <?php
                            }
                        } else {
                            $dif_td = $array_registro_tiempos_max - $array_registro_tiempos[$hora_id . $min];
                            $t = 0;
                            for ($t; $t < $dif_td; $t++) {
                                ?>
                                <td></td>
                                <?php
                            }
                        }
                        ?>
                    </tr>
                    <?php
                } elseif ($hora_id . $min >= $minimo_tiempos && $hora_id . $min <= $maximo_tiempos) {
                    //si es la version para imprimir, solo voy a mostrar los horarios
                    //que tengan algo para hacer, y no aquellos que esten vacios
                    ?> 
                    <tr class="tr_minute">
                        <td class="td_hour">
                            <p><?php echo $hora_id . ':' . $min; ?></p>
                        </td>
                        <?php
                        if (!isset($array_registro_tiempos[$hora_id . $min])) {
                            $dif_td = $array_registro_tiempos_max - $contador_td;
                            $t = 0;
                            for ($t; $t < $dif_td; $t++) {
                                ?>
                                <td></td>
                                <?php
                            }
                        } else {
                            $dif_td = $array_registro_tiempos_max - $array_registro_tiempos[$hora_id . $min];
                            $t = 0;
                            for ($t; $t < $dif_td; $t++) {
                                ?>
                                <td></td>
                                <?php
                            }
                        }
                        ?>
                    </tr>
                    <?php
                }
            }
        }
        ?>
        <!--</table>
    </td>
    </tr>-->
        <?php
    }
    ?>

</table>
<script type="text/javascript">

    (function($){
        // Date picker
        $("#FutureDateFrom").datepicker({
            //yearRange: '1970:2010',
            defaultDate: new Date(),
            dateFormat: 'dd/mm/yy',
            changeMonth: true,
            changeYear: true
        });

    })(jQuery);

    /**
     * Función para redirigir hacia el trabajo correspondiente
     * tipo_trabajo = 'Job' o 'Theater'
     */
    function redirigir_trabajo(tipo_trabajo, id){
        if(tipo_trabajo == 'Job'){
            var dir = '<?php echo SITE_URL ?>/jobs/view/'+id;
            window.location = dir;
        }
        if(tipo_trabajo == 'Theater'){
            var dir = '<?php echo SITE_URL ?>/theaters/view/'+id;
            window.location = dir;
        }
        if(tipo_trabajo == 'Anotation'){
            var dir = '<?php echo SITE_URL ?>/anotations/create/'+id;
            window.location = dir;
        }
    }

    function fecha_hoy(){
        var hoy = $('#FutureHiddenActualDate').val();
        $('#FutureDateFrom').val(hoy);
        $('#FutureDateTo').val(hoy);
        $('#FuturePorDiaForm').submit();
    }

    function abrir_ventana(hora, min){
        //seteo la hora de inicio y fin
        $('#AnotationStartHour').val(parseFloat(hora));
        $('#AnotationStartMinute').val(parseFloat(min));
        $('#AnotationFinishHour').val(parseFloat(hora));
        $('#AnotationFinishMinute').val(parseFloat(min));
        //ahora lo muestro
        $('#add_anotation').show();
    }

    function cerrar_ventana(){
        $('#add_anotation').hide();
        $('#AnotationDescription').val('');
    }
</script>

<style>
    #table_futures{
        border: 1px solid #000;
    }
    #table_futures td{
        padding: 0;
    }
    #table_futures .td_hour{
        width: 25px;
        padding: 6px;
        text-align: center;
        vertical-align: middle;
        border-right: 1px solid #DDDDDD;
    }
    #table_futures .tr_minute{
        border: 1px solid #DDDDDD;
    }
    #table_futures .tr_minute td{
        border: 1px solid #000;
        min-height: 20px;
    }
    #table_futures .td_birthday{
        background: #64A2E8;
        cursor: pointer;
    }
    #table_futures .td_pelotero{
        background: #6AE864;
        cursor: pointer;
    }
    #table_futures .td_event{
        background: #F7B12F;
        cursor: pointer;
    }
    #table_futures .td_theater{
        background: #F75A2F;
        cursor: pointer;
    }
    #table_futures .td_anotation{
        background: #E10479;
        cursor: pointer;
    }
    .trabajo{
        /*border: 1px solid #000;*/
        /*float: left;*/
        /*width: 116px;*/
        font-size: 12px;
        cursor: pointer;
    }
    .calendar_fecha{
        text-align: center;
        background: none repeat scroll 0 0 #EEEEEE;
    }
    .calendar_info{
        /*background: none repeat scroll 0 0 #fff;*/
    }
    #add_anotation{
        width: 450px;
        position: fixed;
        top: auto;
        left: auto;
        background: #fff;
        border: 2px solid #000;

        -moz-border-radius:6px;
        -webkit-border-radius:6px;
        -moz-box-shadow: 0 0 50px #ccc;
        -webkit-box-shadow: 0 0 50px #ccc;
    }
</style>
<?php
if (isset($print_por_dia)) {
    ?> 
    <script type="text/javascript">
        $().ready(function(){
            window.print();
        });
    </script>
    <?php
}
?>